鉴于之前的教程过于麻烦。。自己也从头试了一下,发现有点问题,于是本人决定全部推倒重写一遍(注:本文采用的无线网卡为 TP-LINK WN823N,RTL8192CU 芯片)
另外,文章中用了 vi 编辑器,树莓派自带 vim-tiny,有点反人类,apt-get install vim 解决问题
参考了以下两篇文章(如果只按照其中的一篇来都不会成功,所以整理了一下):
一、安装dhcp服务和ap热点服务1
apt-get install isc-dhcp-server hostapd
二、配置无线网络
本文搭建的无线网络使用了 192.168.51 网段,如有需要,请自行修改,后文同1
vi /etc/network/interfaces
1 | auto lo |
三、修改 DHCP Server 设置1
vi /etc/dhcp/dhcpd.conf
在最后添加,注意是在最后:1
2
3
4
5
6subnet 192.168.51.0 netmask 255.255.255.0 {
range 192.168.51.100 192.168.51.254;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.51.255;
option routers 192.168.51.1;
}
四、打开内核的网卡转发能力1
vi /etc/sysctl.conf
将 net.ipv4.ip_forward=1 的注释去掉
五、重新编译 hostapd 使其支持 RTL8192CU 芯片的无线网卡1
2
3
4wget http://futa.ooo/uploads/2015/01/RTL8188-hostapd-master.zip
unzip RTL8188-hostapd-master.zip
cd RTL8188-hostapd-master/hostapd
make;make install
六、修改 iptables 的 nat 规则并保存1
2
3
4iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables-save > /etc/iptables.ipv4.nat
开机自动加载 iptables 规则:1
vi /etc/rc.local
在 exit 0; 前面添加1
iptables-restore</etc/iptables.ipv4.nat
七、修改无线网络的设置1
vi /etc/hostapd/hostapd.conf
只需要改两行:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25# Basic configuration
interface=wlan0
ssid=sxbxjhwm_raspberry # SSID,修改
channel=1
#bridge=br0
# WPA and WPA2 configuration
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=3
wpa_passphrase=87654321 # 密码,修改
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
# Hardware configuration
driver=rtl871xdrv
ieee80211n=1
hw_mode=g
device_name=RTL8192CU
manufacturer=Realtek
P.S. 如果 DHCP 获取不到 IP,需要添加自启动:1
vi /etc/rc.local
在 exit 0 之前添加以下代码:1
2
3
4
5ifdown wlan0
ifup wlan0
ifconfig wlan0 192.168.51.1 netmask 255.255.255.0
service isc-dhcp-server restart
service hostapd restart